import puppeteer from 'puppeteer';

// 定义要访问的 URL
const URL = 'http://122.152.219.204:22002/';

async function scrapeWebsite() {
  let browser;
  try {
    // 启动一个无头浏览器实例
    browser = await puppeteer.launch({ headless: true });

    // 创建一个新页面
    const page = await browser.newPage();

    console.log(`正在访问 ${URL}...`);

    // 导航到指定 URL，并等待网络空闲
    // 'networkidle0' 会等待页面在 500 毫秒内没有超过 0 个网络连接
    // 这通常意味着页面的主要内容和异步请求都已经加载完毕
    await page.goto(URL, { waitUntil: 'networkidle0' });

    console.log('页面加载完成，获取内容...');

    // 执行 JavaScript 代码（如果需要，例如获取某个元素）
    // 下面的代码只是一个示例，获取页面的标题
    const pageTitle = await page.evaluate(() => {
      return document.title;
    });

    // 获取完整的 HTML 内容
    const content = await page.content();

    // 打印获取到的内容和页面标题
    console.log('--- 页面标题 ---');
    console.log(pageTitle);
    console.log('\n--- 网站内容（HTML）---');
    console.log(content); // 截取部分内容，避免内容过长

  } catch (error) {
    console.error('在获取网站内容时发生错误:', error);
  } finally {
    // 确保在任何情况下都关闭浏览器
    if (browser) {
      await browser.close();
      console.log('浏览器已关闭。');
    }
  }
}

// 运行主函数
scrapeWebsite();